The present invention relates generally to the field of processing natural language and, more particularly, to a method and apparatus for determining the meaning of natural language.
Various attempts have been made in the field of artificial intelligence to develop systems capable of understanding natural language. Common sense dictates that understanding natural language is to “get” its meaning, allowing the listener to answer questions about what was said. A language processing system that claims to understand the sentence, “The boy threw the red ball to the girl.”, should be able to answer “Who threw the ball?”, “What was thrown?”, “What color is the ball?”, etc. It is neither necessary nor sufficient that the listener produce a grammatical diagram of the sentence. It is the meaning that drives everything else. Once an internal way of representing the information in our world is developed, grammars or other methodologies to convey this information to others can be contemplated. But the meaning comes first.
Some natural language systems, such as chatbots, behave as if they understand natural language, but actually obtain little or no useful semantic knowledge from the natural language they process. Other systems understand a predefined set of syntax rules, essentially pulling multiple keywords out of a sentence. For example, a system for controlling an appliance may allow commands such as such as “Set the X to Y” to be processed. In such a system, a user first selects the device to control from a list, for example a TV, and then selects a parameter related to the device, such as, “Set channel to 12”.
Systems of this type are useful only within tightly constrained environments, where the grammar can be predefined and the values of the parameters can be hardwired to specific actions the system can perform. However, these systems do not understand in any general way the information they process. Moreover, they cannot adapt to speech and environment, requiring the user to learn very specific ways to talk to them.
Other systems that seek to achieve a significant level of understanding transform the natural language they process into some form of knowledge representation, often based on predicate logic. One problem with these types of systems is that their knowledgebases, often referred to as ontologies, are complex structures that are labor intensive to construct, requiring experts to meticulously translate human knowledge into the structures used by the ontology. This complexity limits their content areas. For example, the Massachusetts Institute of Technology has used their Oxygen system to build spoken language interfaces to provide information about the weather or obtain schedules and fares for airline flights. However, the system does not function well beyond those very limited areas of expertise.
Another exemplary ontology is the Cyc project, started by Stanford Professor Doug Lenat in 1984. Cyc's ontology stores many different types of information, giving each its own structure and requires predicates, functions, logical connectives, quantifiers, constants, non-atomic terms, variables, microtheories and a host of other elements. This complexity makes the development of the language processing system resource intensive and limits its adaptability.
This section of this document is intended to introduce various aspects of art that may be related to various aspects of the present invention described and/or claimed below. This section provides background information to facilitate a better understanding of the various aspects of the present invention. It should be understood that the statements in this section of this document are to be read in this light, and not as admissions of prior art.